home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / GNULicense / ReadMe < prev    next >
Text File  |  1995-06-12  |  5KB  |  126 lines

  1. (Hey, Emacs, this is -*- indented-text -*-)
  2.  
  3. Copyright (C) 1989 Jacob Gore <jacob@gore.com>
  4.            3044 S. Akron St., Denver, CO 80231-4605, USA
  5.  
  6.   This package is free software; you can redistribute it and/or modify it
  7.   under the terms of the GNU General Public License as published by the Free
  8.   Software Foundation; either version 1, or (at your option) any later
  9.   version.
  10.   
  11.   This package is distributed in the hope that it will be useful, but WITHOUT
  12.   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13.   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  14.   more details.
  15.   
  16.   You should have received a copy of the GNU General Public License along
  17.   with this program (in file COPYING); if not, write to the Free Software
  18.   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. WHAT:    Description of the Package
  21.  
  22.   This package was created to make it easier to include the GNU General
  23.   Public License (GPL) into the interface of a NextStep application.
  24.   
  25.   It consists of three components:
  26.   
  27.     1.  An Interface Builder module (a .nib file) containing a sample Info
  28.         Panel.  The Info Panel displays the copyright notice for the
  29.         application, and has a button for bringing up a License Panel.  The
  30.         programmer would copy this sample info panel and paste it into the
  31.         NIB file for the application.
  32.   
  33.     2.  The source code to class GNULicense, and a NIB module that uses and
  34.         provides the License Panel, which displays the GPL (in rich text and
  35.         in a scroll view).  This panel also has a "Print" button, for
  36.         printing the GPL.
  37.   
  38.     3.  The GPL itself, as a WriteNow document and as an RTF file.
  39.  
  40.  
  41. HOW:    Using This Package in an Application
  42.  
  43.   The package was set up so that the entire procedure of merging it into an
  44.   application could be performed inside Interface Builder.  There are two
  45.   steps involved: (1) copying and customizing the Info Panel, and
  46.   (2) connecting the License Panel to its "License" button.
  47.  
  48.   0.  Preparation
  49.  
  50.       Copy the files GNULicense.h, GNULicense.m and GNULicense.nib into
  51.       your project directory.  Get into the Interface Builder.
  52.  
  53.   1.  Copying and customizing the Info Panel
  54.  
  55.       Open the file SampleInfoPanel.nib (it doesn't have to be in your
  56.       project directory, and it won't be included in your project).
  57.  
  58.       1.a.  If you have not done anything of consequence to the InfoPanel
  59.             object in your application:
  60.  
  61.         Select InfoPanel and copy it to the pasteboard.  That's all you
  62.         need from SampleInfoPanel.nib, so you can close or hide it now.
  63.  
  64.         Open your application's nib file, select its "objects" window
  65.         and paste.  The sample Info Panel will be added to it, and
  66.         called "Panel" (or "Panel1", etc.).
  67.  
  68.         Delete the old InfoPanel object and rename the new info panel
  69.         object into "InfoPanel".  Connect the "Info" item in the
  70.         application's main menu to the "makeKeyAndOrderFront:" action
  71.         of the new InfoPanel.
  72.  
  73.       1.b.  If you already have an elaborate InfoPanel in your application:
  74.  
  75.         Copy the copyright box from the InfoPanel object in
  76.         SampleInfoPanel and paste it into the InfoPanel object in your
  77.         application.  Don't forget the copyright (c-in-a-circle)
  78.         symbol, which is just floating on top of the title of the
  79.         copyright box (because box titles aren't multifont, and that
  80.         character is in the Symbol font).
  81.  
  82.       Edit the strings and icons appropriately.  (Unless you REALLY want
  83.       James T. Kirk to hold the copyright of your application:-)
  84.  
  85.   2.  Connecting the License Panel
  86.  
  87.       The License Panel lives in its own interface file, GNULicense.nib.
  88.       It contains a rather large text object, and there is rarely any need
  89.       to have it loaded at launch time.  The GNULicense object serves as
  90.       the link between NIB modules.
  91.  
  92.       Using the class browser, create a subclass of Object, name it
  93.       "GNULicense", then parse it in.  Instantiate it (recommendation: call
  94.       the instance "License Panel").  Connect the "License" button on the
  95.       InfoPanel to the "showLicense:" action of License Panel.
  96.  
  97.       Add GNULicense.[hm] and GNULicense.nib to the project.
  98.  
  99.   That's it.  Save, save, save! :-)
  100.  
  101. WHERE:    Installation Considerations
  102.  
  103.   File GNULicense.wn should be installed as
  104.  
  105.         /LocalLibrary/GNU/GNULicense.wn
  106.  
  107.   (or, if NeXT starts distributing this package, in
  108.  
  109.             /NextLibrary/GNU/GNULicense.wn),
  110.  
  111.   where all GNU software can refer to it.  Alternately, it can be installed
  112.   by individual users as
  113.  
  114.         ~/Library/GNU/GNULicense.wn .
  115.  
  116.   The file GNULicense.rtf is not used by the package.  It corresponds to
  117.   the text included in the scroll view of the License Panel, and is
  118.   provided for convenience.
  119.  
  120.  
  121. TO DO:
  122.  
  123.   If somebody can tell me how to print the license without invoking
  124.   WriteNow (but still provide the user with the convenience of the Print
  125.   Panel), I'll be very grateful.
  126.